<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE DeriveFunctor         #-}</span><span>
</span><span id="line-2"></span><span class="hs-pragma">{-# LANGUAGE FlexibleInstances     #-}</span><span>
</span><span id="line-3"></span><span class="hs-pragma">{-# LANGUAGE MultiParamTypeClasses #-}</span><span>
</span><span id="line-4"></span><span class="hs-pragma">{-# LANGUAGE RankNTypes            #-}</span><span>
</span><span id="line-5"></span><span class="hs-pragma">{-# LANGUAGE UndecidableInstances  #-}</span><span>
</span><span id="line-6"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Distribution.FieldGrammar.FieldDescrs</span><span> </span><span class="hs-special">(</span><span>
</span><span id="line-7"></span><span>    </span><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#FieldDescrs"><span class="hs-identifier">FieldDescrs</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-8"></span><span>    </span><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#fieldDescrPretty"><span class="hs-identifier">fieldDescrPretty</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-9"></span><span>    </span><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#fieldDescrParse"><span class="hs-identifier">fieldDescrParse</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-10"></span><span>    </span><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#fieldDescrsToList"><span class="hs-identifier">fieldDescrsToList</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-11"></span><span>    </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-12"></span><span>
</span><span id="line-13"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Compat.Prelude.html"><span class="hs-identifier">Distribution.Compat.Prelude</span></a></span><span>
</span><span id="line-14"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Prelude.html#"><span class="hs-identifier">Prelude</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-15"></span><span>
</span><span id="line-16"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Data.List.html#"><span class="hs-identifier">Data.List</span></a></span><span>                   </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/Data.OldList.html#dropWhileEnd"><span class="hs-identifier">dropWhileEnd</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-17"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Compat.Lens.html"><span class="hs-identifier">Distribution.Compat.Lens</span></a></span><span>    </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Compat.Lens.html#aview"><span class="hs-identifier">aview</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Compat.Lens.html#cloneLens"><span class="hs-identifier">cloneLens</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-18"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Compat.Newtype.html"><span class="hs-identifier">Distribution.Compat.Newtype</span></a></span><span>
</span><span id="line-19"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.FieldGrammar.html"><span class="hs-identifier">Distribution.FieldGrammar</span></a></span><span>
</span><span id="line-20"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Pretty.html"><span class="hs-identifier">Distribution.Pretty</span></a></span><span>         </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Pretty.html#Pretty"><span class="hs-identifier">Pretty</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Pretty.html#showFreeText"><span class="hs-identifier">showFreeText</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-21"></span><span>
</span><span id="line-22"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="../../containers/src/Data.Map.html#"><span class="hs-identifier">Data.Map</span></a></span><span>                        </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">Map</span></span><span>
</span><span id="line-23"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.Compat.CharParsing.html"><span class="hs-identifier">Distribution.Compat.CharParsing</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">C</span></span><span>
</span><span id="line-24"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.Fields.Field.html"><span class="hs-identifier">Distribution.Fields.Field</span></a></span><span>       </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">P</span></span><span>
</span><span id="line-25"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.Parsec.html"><span class="hs-identifier">Distribution.Parsec</span></a></span><span>             </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">P</span></span><span>
</span><span id="line-26"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="../../pretty/src/Text.PrettyPrint.html#"><span class="hs-identifier">Text.PrettyPrint</span></a></span><span>                </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">Disp</span></span><span>
</span><span id="line-27"></span><span>
</span><span id="line-28"></span><span class="hs-comment">-- strict pair</span><span>
</span><span id="line-29"></span><span class="hs-keyword">data</span><span> </span><span id="SP"><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#SP"><span class="hs-identifier hs-var">SP</span></a></span></span><span> </span><span id="local-6989586621679704485"><span class="annot"><a href="#local-6989586621679704485"><span class="hs-identifier hs-type">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="SP"><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#SP"><span class="hs-identifier hs-var">SP</span></a></span></span><span>
</span><span id="line-30"></span><span>    </span><span class="hs-special">{</span><span> </span><span id="pPretty"><span class="annot"><span class="annottext">forall s. SP s -&gt; s -&gt; Doc
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#pPretty"><span class="hs-identifier hs-var hs-var">pPretty</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-glyph">!</span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679704485"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#Doc"><span class="hs-identifier hs-type">Disp.Doc</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-31"></span><span>    </span><span class="hs-special">,</span><span> </span><span id="pParse"><span class="annot"><span class="annottext">forall s. SP s -&gt; forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#pParse"><span class="hs-identifier hs-var hs-var">pParse</span></a></span></span><span>  </span><span class="hs-glyph">::</span><span> </span><span class="hs-glyph">!</span><span class="hs-special">(</span><span class="hs-keyword">forall</span><span> </span><span id="local-6989586621679704481"><span class="annot"><a href="#local-6989586621679704481"><span class="hs-identifier hs-type">m</span></a></span></span><span class="hs-operator">.</span><span> </span><span class="annot"><a href="Distribution.Parsec.html#CabalParsing"><span class="hs-identifier hs-type">P.CabalParsing</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704481"><span class="hs-identifier hs-type">m</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679704485"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679704481"><span class="hs-identifier hs-type">m</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704485"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-32"></span><span>    </span><span class="hs-special">}</span><span>
</span><span id="line-33"></span><span>
</span><span id="line-34"></span><span class="hs-comment">-- | A collection field parsers and pretty-printers.</span><span>
</span><span id="line-35"></span><span class="hs-keyword">newtype</span><span> </span><span id="FieldDescrs"><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#FieldDescrs"><span class="hs-identifier hs-var">FieldDescrs</span></a></span></span><span> </span><span id="local-6989586621679704477"><span class="annot"><a href="#local-6989586621679704477"><span class="hs-identifier hs-type">s</span></a></span></span><span> </span><span id="local-6989586621679704476"><span class="annot"><a href="#local-6989586621679704476"><span class="hs-identifier hs-type">a</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="F"><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#F"><span class="hs-identifier hs-var">F</span></a></span></span><span> </span><span class="hs-special">{</span><span> </span><span id="runF"><span class="annot"><span class="annottext">forall s a. FieldDescrs s a -&gt; Map FieldName (SP s)
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#runF"><span class="hs-identifier hs-var hs-var">runF</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../containers/src/Data.Map.Internal.html#Map"><span class="hs-identifier hs-type">Map</span></a></span><span> </span><span class="annot"><a href="Distribution.Fields.Field.html#FieldName"><span class="hs-identifier hs-type">P.FieldName</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#SP"><span class="hs-identifier hs-type">SP</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704477"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-36"></span><span>  </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679704242"><span id="local-6989586621679704245"><span class="annot"><span class="annottext">(forall a b. (a -&gt; b) -&gt; FieldDescrs s a -&gt; FieldDescrs s b)
-&gt; (forall a b. a -&gt; FieldDescrs s b -&gt; FieldDescrs s a)
-&gt; Functor (FieldDescrs s)
forall a b. a -&gt; FieldDescrs s b -&gt; FieldDescrs s a
forall a b. (a -&gt; b) -&gt; FieldDescrs s a -&gt; FieldDescrs s b
forall s a b. a -&gt; FieldDescrs s b -&gt; FieldDescrs s a
forall s a b. (a -&gt; b) -&gt; FieldDescrs s a -&gt; FieldDescrs s b
forall (f :: * -&gt; *).
(forall a b. (a -&gt; b) -&gt; f a -&gt; f b)
-&gt; (forall a b. a -&gt; f b -&gt; f a) -&gt; Functor f
&lt;$ :: forall a b. a -&gt; FieldDescrs s b -&gt; FieldDescrs s a
$c&lt;$ :: forall s a b. a -&gt; FieldDescrs s b -&gt; FieldDescrs s a
fmap :: forall a b. (a -&gt; b) -&gt; FieldDescrs s a -&gt; FieldDescrs s b
$cfmap :: forall s a b. (a -&gt; b) -&gt; FieldDescrs s a -&gt; FieldDescrs s b
</span><a href="../../base/src/GHC.Base.html#Functor"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Functor</span></a></span></span></span><span class="hs-special">)</span><span>
</span><span id="line-37"></span><span>
</span><span id="line-38"></span><span id="local-6989586621679704453"><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679704231"><span id="local-6989586621679704233"><span id="local-6989586621679704235"><span class="annot"><a href="../../base/src/GHC.Base.html#Applicative"><span class="hs-identifier hs-type">Applicative</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#FieldDescrs"><span class="hs-identifier hs-type">FieldDescrs</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704453"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">)</span></span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-39"></span><span>    </span><span id="local-6989586621679704225"><span class="annot"><span class="annottext">pure :: forall a. a -&gt; FieldDescrs s a
</span><a href="../../base/src/GHC.Base.html#pure"><span class="hs-identifier hs-var hs-var hs-var hs-var">pure</span></a></span></span><span> </span><span class="annot"><span class="annottext">a
</span><span class="hs-identifier">_</span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Map FieldName (SP s) -&gt; FieldDescrs s a
forall s a. Map FieldName (SP s) -&gt; FieldDescrs s a
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#F"><span class="hs-identifier hs-var">F</span></a></span><span> </span><span class="annot"><span class="annottext">Map FieldName (SP s)
forall a. Monoid a =&gt; a
</span><a href="../../base/src/GHC.Base.html#mempty"><span class="hs-identifier hs-var">mempty</span></a></span><span>
</span><span id="line-40"></span><span>    </span><span id="local-6989586621679704222"><span class="annot"><span class="annottext">FieldDescrs s (a -&gt; b)
</span><a href="#local-6989586621679704222"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span id="local-6989586621679704221"><span class="annot"><span class="annottext">&lt;*&gt; :: forall a b.
FieldDescrs s (a -&gt; b) -&gt; FieldDescrs s a -&gt; FieldDescrs s b
</span><a href="../../base/src/GHC.Base.html#%3C%2A%3E"><span class="hs-operator hs-var hs-var hs-var hs-var">&lt;*&gt;</span></a></span></span><span> </span><span id="local-6989586621679704220"><span class="annot"><span class="annottext">FieldDescrs s a
</span><a href="#local-6989586621679704220"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Map FieldName (SP s) -&gt; FieldDescrs s b
forall s a. Map FieldName (SP s) -&gt; FieldDescrs s a
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#F"><span class="hs-identifier hs-var">F</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Map FieldName (SP s)
-&gt; Map FieldName (SP s) -&gt; Map FieldName (SP s)
forall a. Monoid a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Base.html#mappend"><span class="hs-identifier hs-var">mappend</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">FieldDescrs s (a -&gt; b) -&gt; Map FieldName (SP s)
forall s a. FieldDescrs s a -&gt; Map FieldName (SP s)
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#runF"><span class="hs-identifier hs-var hs-var">runF</span></a></span><span> </span><span class="annot"><span class="annottext">FieldDescrs s (a -&gt; b)
</span><a href="#local-6989586621679704222"><span class="hs-identifier hs-var">f</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">FieldDescrs s a -&gt; Map FieldName (SP s)
forall s a. FieldDescrs s a -&gt; Map FieldName (SP s)
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#runF"><span class="hs-identifier hs-var hs-var">runF</span></a></span><span> </span><span class="annot"><span class="annottext">FieldDescrs s a
</span><a href="#local-6989586621679704220"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span></span><span>
</span><span id="line-41"></span><span>
</span><span id="line-42"></span><span id="local-6989586621679704444"><span id="local-6989586621679704446"><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#singletonF"><span class="hs-identifier hs-type">singletonF</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Fields.Field.html#FieldName"><span class="hs-identifier hs-type">P.FieldName</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679704446"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#Doc"><span class="hs-identifier hs-type">Disp.Doc</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-keyword">forall</span><span> </span><span id="local-6989586621679704445"><span class="annot"><a href="#local-6989586621679704445"><span class="hs-identifier hs-type">m</span></a></span></span><span class="hs-operator">.</span><span> </span><span class="annot"><a href="Distribution.Parsec.html#CabalParsing"><span class="hs-identifier hs-type">P.CabalParsing</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704445"><span class="hs-identifier hs-type">m</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679704446"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679704445"><span class="hs-identifier hs-type">m</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704446"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#FieldDescrs"><span class="hs-identifier hs-type">FieldDescrs</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704446"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704444"><span class="hs-identifier hs-type">a</span></a></span></span></span><span>
</span><span id="line-43"></span><span id="singletonF"><span class="annot"><span class="annottext">singletonF :: forall s a.
FieldName
-&gt; (s -&gt; Doc)
-&gt; (forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s)
-&gt; FieldDescrs s a
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#singletonF"><span class="hs-identifier hs-var hs-var">singletonF</span></a></span></span><span> </span><span id="local-6989586621679704218"><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679704218"><span class="hs-identifier hs-var">fn</span></a></span></span><span> </span><span id="local-6989586621679704217"><span class="annot"><span class="annottext">s -&gt; Doc
</span><a href="#local-6989586621679704217"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span id="local-6989586621679704216"><span class="annot"><span class="annottext">forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s
</span><a href="#local-6989586621679704216"><span class="hs-identifier hs-var">g</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Map FieldName (SP s) -&gt; FieldDescrs s a
forall s a. Map FieldName (SP s) -&gt; FieldDescrs s a
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#F"><span class="hs-identifier hs-var">F</span></a></span><span> </span><span class="annot"><span class="annottext">(Map FieldName (SP s) -&gt; FieldDescrs s a)
-&gt; Map FieldName (SP s) -&gt; FieldDescrs s a
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">FieldName -&gt; SP s -&gt; Map FieldName (SP s)
forall k a. k -&gt; a -&gt; Map k a
</span><a href="../../containers/src/Data.Map.Internal.html#singleton"><span class="hs-identifier hs-var">Map.singleton</span></a></span><span> </span><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679704218"><span class="hs-identifier hs-var">fn</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(s -&gt; Doc)
-&gt; (forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s) -&gt; SP s
forall s.
(s -&gt; Doc)
-&gt; (forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s) -&gt; SP s
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#SP"><span class="hs-identifier hs-var">SP</span></a></span><span> </span><span class="annot"><span class="annottext">s -&gt; Doc
</span><a href="#local-6989586621679704217"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s
</span><a href="#local-6989586621679704216"><span class="hs-identifier hs-var">g</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-44"></span><span>
</span><span id="line-45"></span><span class="hs-comment">-- | Lookup a field value pretty-printer.</span><span>
</span><span id="line-46"></span><span id="local-6989586621679704434"><span id="local-6989586621679704435"><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#fieldDescrPretty"><span class="hs-identifier hs-type">fieldDescrPretty</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#FieldDescrs"><span class="hs-identifier hs-type">FieldDescrs</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704435"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704434"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Fields.Field.html#FieldName"><span class="hs-identifier hs-type">P.FieldName</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679704435"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#Doc"><span class="hs-identifier hs-type">Disp.Doc</span></a></span><span class="hs-special">)</span></span></span><span>
</span><span id="line-47"></span><span id="fieldDescrPretty"><span class="annot"><span class="annottext">fieldDescrPretty :: forall s a. FieldDescrs s a -&gt; FieldName -&gt; Maybe (s -&gt; Doc)
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#fieldDescrPretty"><span class="hs-identifier hs-var hs-var">fieldDescrPretty</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#F"><span class="hs-identifier hs-type">F</span></a></span><span> </span><span id="local-6989586621679704209"><span class="annot"><span class="annottext">Map FieldName (SP s)
</span><a href="#local-6989586621679704209"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679704208"><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679704208"><span class="hs-identifier hs-var">fn</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">SP s -&gt; s -&gt; Doc
forall s. SP s -&gt; s -&gt; Doc
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#pPretty"><span class="hs-identifier hs-var hs-var">pPretty</span></a></span><span> </span><span class="annot"><span class="annottext">(SP s -&gt; s -&gt; Doc) -&gt; Maybe (SP s) -&gt; Maybe (s -&gt; Doc)
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/Data.Functor.html#%3C%24%3E"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">FieldName -&gt; Map FieldName (SP s) -&gt; Maybe (SP s)
forall k a. Ord k =&gt; k -&gt; Map k a -&gt; Maybe a
</span><a href="../../containers/src/Data.Map.Internal.html#lookup"><span class="hs-identifier hs-var">Map.lookup</span></a></span><span> </span><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679704208"><span class="hs-identifier hs-var">fn</span></a></span><span> </span><span class="annot"><span class="annottext">Map FieldName (SP s)
</span><a href="#local-6989586621679704209"><span class="hs-identifier hs-var">m</span></a></span><span>
</span><span id="line-48"></span><span>
</span><span id="line-49"></span><span class="hs-comment">-- | Lookup a field value parser.</span><span>
</span><span id="line-50"></span><span id="local-6989586621679704424"><span id="local-6989586621679704425"><span id="local-6989586621679704426"><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#fieldDescrParse"><span class="hs-identifier hs-type">fieldDescrParse</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Parsec.html#CabalParsing"><span class="hs-identifier hs-type">P.CabalParsing</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704426"><span class="hs-identifier hs-type">m</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#FieldDescrs"><span class="hs-identifier hs-type">FieldDescrs</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704425"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704424"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Fields.Field.html#FieldName"><span class="hs-identifier hs-type">P.FieldName</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679704425"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679704426"><span class="hs-identifier hs-type">m</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704425"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">)</span></span></span></span><span>
</span><span id="line-51"></span><span id="fieldDescrParse"><span class="annot"><span class="annottext">fieldDescrParse :: forall (m :: * -&gt; *) s a.
CabalParsing m =&gt;
FieldDescrs s a -&gt; FieldName -&gt; Maybe (s -&gt; m s)
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#fieldDescrParse"><span class="hs-identifier hs-var hs-var">fieldDescrParse</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#F"><span class="hs-identifier hs-type">F</span></a></span><span> </span><span id="local-6989586621679704201"><span class="annot"><span class="annottext">Map FieldName (SP s)
</span><a href="#local-6989586621679704201"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679704200"><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679704200"><span class="hs-identifier hs-var">fn</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span id="local-6989586621679704199"><span class="annot"><span class="annottext">SP s
</span><a href="#local-6989586621679704199"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">SP s -&gt; forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s
forall s. SP s -&gt; forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#pParse"><span class="hs-identifier hs-var hs-var">pParse</span></a></span><span> </span><span class="annot"><span class="annottext">SP s
</span><a href="#local-6989586621679704199"><span class="hs-identifier hs-var">f</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">(SP s -&gt; s -&gt; m s) -&gt; Maybe (SP s) -&gt; Maybe (s -&gt; m s)
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/Data.Functor.html#%3C%24%3E"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">FieldName -&gt; Map FieldName (SP s) -&gt; Maybe (SP s)
forall k a. Ord k =&gt; k -&gt; Map k a -&gt; Maybe a
</span><a href="../../containers/src/Data.Map.Internal.html#lookup"><span class="hs-identifier hs-var">Map.lookup</span></a></span><span> </span><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679704200"><span class="hs-identifier hs-var">fn</span></a></span><span> </span><span class="annot"><span class="annottext">Map FieldName (SP s)
</span><a href="#local-6989586621679704201"><span class="hs-identifier hs-var">m</span></a></span><span>
</span><span id="line-52"></span><span>
</span><span id="line-53"></span><span id="local-6989586621679704418"><span id="local-6989586621679704419"><span id="local-6989586621679704420"><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#fieldDescrsToList"><span class="hs-identifier hs-type">fieldDescrsToList</span></a></span><span>
</span><span id="line-54"></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Parsec.html#CabalParsing"><span class="hs-identifier hs-type">P.CabalParsing</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704420"><span class="hs-identifier hs-type">m</span></a></span><span>
</span><span id="line-55"></span><span>    </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#FieldDescrs"><span class="hs-identifier hs-type">FieldDescrs</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704419"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704418"><span class="hs-identifier hs-type">a</span></a></span><span>
</span><span id="line-56"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Fields.Field.html#FieldName"><span class="hs-identifier hs-type">P.FieldName</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="#local-6989586621679704419"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#Doc"><span class="hs-identifier hs-type">Disp.Doc</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="#local-6989586621679704419"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679704420"><span class="hs-identifier hs-type">m</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704419"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">)</span><span class="hs-special">]</span></span></span></span><span>
</span><span id="line-57"></span><span id="fieldDescrsToList"><span class="annot"><span class="annottext">fieldDescrsToList :: forall (m :: * -&gt; *) s a.
CabalParsing m =&gt;
FieldDescrs s a -&gt; [(FieldName, s -&gt; Doc, s -&gt; m s)]
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#fieldDescrsToList"><span class="hs-identifier hs-var hs-var">fieldDescrsToList</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">((FieldName, SP s) -&gt; (FieldName, s -&gt; Doc, s -&gt; m s))
-&gt; [(FieldName, SP s)] -&gt; [(FieldName, s -&gt; Doc, s -&gt; m s)]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">(FieldName, SP s) -&gt; (FieldName, s -&gt; Doc, s -&gt; m s)
forall {m :: * -&gt; *} {a} {s}.
CabalParsing m =&gt;
(a, SP s) -&gt; (a, s -&gt; Doc, s -&gt; m s)
</span><a href="#local-6989586621679704196"><span class="hs-identifier hs-var">mk</span></a></span><span> </span><span class="annot"><span class="annottext">([(FieldName, SP s)] -&gt; [(FieldName, s -&gt; Doc, s -&gt; m s)])
-&gt; (FieldDescrs s a -&gt; [(FieldName, SP s)])
-&gt; FieldDescrs s a
-&gt; [(FieldName, s -&gt; Doc, s -&gt; m s)]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">Map FieldName (SP s) -&gt; [(FieldName, SP s)]
forall k a. Map k a -&gt; [(k, a)]
</span><a href="../../containers/src/Data.Map.Internal.html#toList"><span class="hs-identifier hs-var">Map.toList</span></a></span><span> </span><span class="annot"><span class="annottext">(Map FieldName (SP s) -&gt; [(FieldName, SP s)])
-&gt; (FieldDescrs s a -&gt; Map FieldName (SP s))
-&gt; FieldDescrs s a
-&gt; [(FieldName, SP s)]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">FieldDescrs s a -&gt; Map FieldName (SP s)
forall s a. FieldDescrs s a -&gt; Map FieldName (SP s)
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#runF"><span class="hs-identifier hs-var hs-var">runF</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-58"></span><span>    </span><span id="local-6989586621679704196"><span class="annot"><span class="annottext">mk :: (a, SP s) -&gt; (a, s -&gt; Doc, s -&gt; m s)
</span><a href="#local-6989586621679704196"><span class="hs-identifier hs-var hs-var">mk</span></a></span></span><span> </span><span class="hs-special">(</span><span id="local-6989586621679704191"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679704191"><span class="hs-identifier hs-var">name</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#SP"><span class="hs-identifier hs-type">SP</span></a></span><span> </span><span id="local-6989586621679704190"><span class="annot"><span class="annottext">s -&gt; Doc
</span><a href="#local-6989586621679704190"><span class="hs-identifier hs-var">ppr</span></a></span></span><span> </span><span id="local-6989586621679704189"><span class="annot"><span class="annottext">forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s
</span><a href="#local-6989586621679704189"><span class="hs-identifier hs-var">parse</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679704191"><span class="hs-identifier hs-var">name</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">s -&gt; Doc
</span><a href="#local-6989586621679704190"><span class="hs-identifier hs-var">ppr</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">s -&gt; m s
forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s
</span><a href="#local-6989586621679704189"><span class="hs-identifier hs-var">parse</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-59"></span><span>
</span><span id="line-60"></span><span class="hs-comment">-- | /Note:/ default values are printed.</span><span>
</span><span id="line-61"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679704147"><span class="annot"><a href="Distribution.FieldGrammar.Class.html#FieldGrammar"><span class="hs-identifier hs-type">FieldGrammar</span></a></span><span> </span><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#ParsecPretty"><span class="hs-identifier hs-type">ParsecPretty</span></a></span><span> </span><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#FieldDescrs"><span class="hs-identifier hs-type">FieldDescrs</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-62"></span><span>    </span><span id="local-6989586621679704131"><span class="annot"><span class="annottext">blurFieldGrammar :: forall a b d. ALens' a b -&gt; FieldDescrs b d -&gt; FieldDescrs a d
</span><a href="Distribution.FieldGrammar.Class.html#blurFieldGrammar"><span class="hs-identifier hs-var hs-var hs-var hs-var">blurFieldGrammar</span></a></span></span><span> </span><span id="local-6989586621679704129"><span class="annot"><span class="annottext">ALens' a b
</span><a href="#local-6989586621679704129"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#F"><span class="hs-identifier hs-type">F</span></a></span><span> </span><span id="local-6989586621679704128"><span class="annot"><span class="annottext">Map FieldName (SP b)
</span><a href="#local-6989586621679704128"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Map FieldName (SP a) -&gt; FieldDescrs a d
forall s a. Map FieldName (SP s) -&gt; FieldDescrs s a
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#F"><span class="hs-identifier hs-var">F</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(SP b -&gt; SP a) -&gt; Map FieldName (SP b) -&gt; Map FieldName (SP a)
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">SP b -&gt; SP a
</span><a href="#local-6989586621679704127"><span class="hs-identifier hs-var">blur</span></a></span><span> </span><span class="annot"><span class="annottext">Map FieldName (SP b)
</span><a href="#local-6989586621679704128"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-63"></span><span>        </span><span id="local-6989586621679704127"><span class="annot"><span class="annottext">blur :: SP b -&gt; SP a
</span><a href="#local-6989586621679704127"><span class="hs-identifier hs-var hs-var">blur</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#SP"><span class="hs-identifier hs-type">SP</span></a></span><span> </span><span id="local-6989586621679704126"><span class="annot"><span class="annottext">b -&gt; Doc
</span><a href="#local-6989586621679704126"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span id="local-6989586621679704125"><span class="annot"><span class="annottext">forall (m :: * -&gt; *). CabalParsing m =&gt; b -&gt; m b
</span><a href="#local-6989586621679704125"><span class="hs-identifier hs-var">g</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(a -&gt; Doc)
-&gt; (forall (m :: * -&gt; *). CabalParsing m =&gt; a -&gt; m a) -&gt; SP a
forall s.
(s -&gt; Doc)
-&gt; (forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s) -&gt; SP s
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#SP"><span class="hs-identifier hs-var">SP</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">b -&gt; Doc
</span><a href="#local-6989586621679704126"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">(b -&gt; Doc) -&gt; (a -&gt; b) -&gt; a -&gt; Doc
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">ALens' a b -&gt; a -&gt; b
forall s t a b. ALens s t a b -&gt; s -&gt; a
</span><a href="Distribution.Compat.Lens.html#aview"><span class="hs-identifier hs-var">aview</span></a></span><span> </span><span class="annot"><span class="annottext">ALens' a b
</span><a href="#local-6989586621679704129"><span class="hs-identifier hs-var">l</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ALens' a b -&gt; LensLike m a a b b
forall (f :: * -&gt; *) s t a b.
Functor f =&gt;
ALens s t a b -&gt; LensLike f s t a b
</span><a href="Distribution.Compat.Lens.html#cloneLens"><span class="hs-identifier hs-var">cloneLens</span></a></span><span> </span><span class="annot"><span class="annottext">ALens' a b
</span><a href="#local-6989586621679704129"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="annot"><span class="annottext">b -&gt; m b
forall (m :: * -&gt; *). CabalParsing m =&gt; b -&gt; m b
</span><a href="#local-6989586621679704125"><span class="hs-identifier hs-var">g</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-64"></span><span>
</span><span id="line-65"></span><span>    </span><span id="local-6989586621679704111"><span class="annot"><span class="annottext">booleanFieldDef :: forall s. FieldName -&gt; ALens' s Bool -&gt; Bool -&gt; FieldDescrs s Bool
</span><a href="Distribution.FieldGrammar.Class.html#booleanFieldDef"><span class="hs-identifier hs-var hs-var hs-var hs-var">booleanFieldDef</span></a></span></span><span> </span><span id="local-6989586621679704109"><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679704109"><span class="hs-identifier hs-var">fn</span></a></span></span><span> </span><span id="local-6989586621679704108"><span class="annot"><span class="annottext">ALens' s Bool
</span><a href="#local-6989586621679704108"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span id="local-6989586621679704107"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679704107"><span class="hs-identifier hs-var">_def</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FieldName
-&gt; (s -&gt; Doc)
-&gt; (forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s)
-&gt; FieldDescrs s Bool
forall s a.
FieldName
-&gt; (s -&gt; Doc)
-&gt; (forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s)
-&gt; FieldDescrs s a
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#singletonF"><span class="hs-identifier hs-var">singletonF</span></a></span><span> </span><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679704109"><span class="hs-identifier hs-var">fn</span></a></span><span> </span><span class="annot"><span class="annottext">s -&gt; Doc
</span><a href="#local-6989586621679704106"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s
</span><a href="#local-6989586621679704105"><span class="hs-identifier hs-var">g</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-66"></span><span>        </span><span id="local-6989586621679704106"><span class="annot"><span class="annottext">f :: s -&gt; Doc
</span><a href="#local-6989586621679704106"><span class="hs-identifier hs-var hs-var">f</span></a></span></span><span> </span><span id="local-6989586621679704100"><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679704100"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Doc
</span><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#text"><span class="hs-identifier hs-var">Disp.text</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ALens' s Bool -&gt; s -&gt; Bool
forall s t a b. ALens s t a b -&gt; s -&gt; a
</span><a href="Distribution.Compat.Lens.html#aview"><span class="hs-identifier hs-var">aview</span></a></span><span> </span><span class="annot"><span class="annottext">ALens' s Bool
</span><a href="#local-6989586621679704108"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679704100"><span class="hs-identifier hs-var">s</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-67"></span><span>        </span><span id="local-6989586621679704105"><span class="annot"><span class="annottext">g :: s -&gt; f s
</span><a href="#local-6989586621679704105"><span class="hs-identifier hs-var hs-var">g</span></a></span></span><span> </span><span id="local-6989586621679704087"><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679704087"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ALens' s Bool -&gt; LensLike f s s Bool Bool
forall (f :: * -&gt; *) s t a b.
Functor f =&gt;
ALens s t a b -&gt; LensLike f s t a b
</span><a href="Distribution.Compat.Lens.html#cloneLens"><span class="hs-identifier hs-var">cloneLens</span></a></span><span> </span><span class="annot"><span class="annottext">ALens' s Bool
</span><a href="#local-6989586621679704108"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">f Bool -&gt; Bool -&gt; f Bool
forall a b. a -&gt; b -&gt; a
</span><a href="../../base/src/GHC.Base.html#const"><span class="hs-identifier hs-var">const</span></a></span><span> </span><span class="annot"><span class="annottext">f Bool
forall a (m :: * -&gt; *). (Parsec a, CabalParsing m) =&gt; m a
</span><a href="Distribution.Parsec.html#parsec"><span class="hs-identifier hs-var">P.parsec</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679704087"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-68"></span><span>      </span><span class="hs-comment">-- Note: eta expansion is needed for RankNTypes type-checking to work.</span><span>
</span><span id="line-69"></span><span>
</span><span id="line-70"></span><span>    </span><span id="local-6989586621679704078"><span class="annot"><span class="annottext">uniqueFieldAla :: forall b a s.
(ParsecPretty b, Newtype a b) =&gt;
FieldName -&gt; (a -&gt; b) -&gt; ALens' s a -&gt; FieldDescrs s a
</span><a href="Distribution.FieldGrammar.Class.html#uniqueFieldAla"><span class="hs-identifier hs-var hs-var hs-var hs-var">uniqueFieldAla</span></a></span></span><span> </span><span id="local-6989586621679704076"><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679704076"><span class="hs-identifier hs-var">fn</span></a></span></span><span> </span><span id="local-6989586621679704075"><span class="annot"><span class="annottext">a -&gt; b
</span><a href="#local-6989586621679704075"><span class="hs-identifier hs-var">_pack</span></a></span></span><span> </span><span id="local-6989586621679704074"><span class="annot"><span class="annottext">ALens' s a
</span><a href="#local-6989586621679704074"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FieldName
-&gt; (s -&gt; Doc)
-&gt; (forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s)
-&gt; FieldDescrs s a
forall s a.
FieldName
-&gt; (s -&gt; Doc)
-&gt; (forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s)
-&gt; FieldDescrs s a
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#singletonF"><span class="hs-identifier hs-var">singletonF</span></a></span><span> </span><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679704076"><span class="hs-identifier hs-var">fn</span></a></span><span> </span><span class="annot"><span class="annottext">s -&gt; Doc
</span><a href="#local-6989586621679704073"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s
</span><a href="#local-6989586621679704072"><span class="hs-identifier hs-var">g</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-71"></span><span>        </span><span id="local-6989586621679704073"><span class="annot"><span class="annottext">f :: s -&gt; Doc
</span><a href="#local-6989586621679704073"><span class="hs-identifier hs-var hs-var">f</span></a></span></span><span> </span><span id="local-6989586621679704067"><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679704067"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">b -&gt; Doc
forall a. Pretty a =&gt; a -&gt; Doc
</span><a href="Distribution.Pretty.html#pretty"><span class="hs-identifier hs-var">pretty</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(a -&gt; b) -&gt; a -&gt; b
forall o n. Newtype o n =&gt; (o -&gt; n) -&gt; o -&gt; n
</span><a href="Distribution.Compat.Newtype.html#pack%27"><span class="hs-identifier hs-var">pack'</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; b
</span><a href="#local-6989586621679704075"><span class="hs-identifier hs-var">_pack</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ALens' s a -&gt; s -&gt; a
forall s t a b. ALens s t a b -&gt; s -&gt; a
</span><a href="Distribution.Compat.Lens.html#aview"><span class="hs-identifier hs-var">aview</span></a></span><span> </span><span class="annot"><span class="annottext">ALens' s a
</span><a href="#local-6989586621679704074"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679704067"><span class="hs-identifier hs-var">s</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-72"></span><span>        </span><span id="local-6989586621679704072"><span class="annot"><span class="annottext">g :: s -&gt; f s
</span><a href="#local-6989586621679704072"><span class="hs-identifier hs-var hs-var">g</span></a></span></span><span> </span><span id="local-6989586621679704053"><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679704053"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ALens' s a -&gt; LensLike f s s a a
forall (f :: * -&gt; *) s t a b.
Functor f =&gt;
ALens s t a b -&gt; LensLike f s t a b
</span><a href="Distribution.Compat.Lens.html#cloneLens"><span class="hs-identifier hs-var">cloneLens</span></a></span><span> </span><span class="annot"><span class="annottext">ALens' s a
</span><a href="#local-6989586621679704074"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">f a -&gt; a -&gt; f a
forall a b. a -&gt; b -&gt; a
</span><a href="../../base/src/GHC.Base.html#const"><span class="hs-identifier hs-var">const</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(a -&gt; b) -&gt; b -&gt; a
forall o n. Newtype o n =&gt; (o -&gt; n) -&gt; n -&gt; o
</span><a href="Distribution.Compat.Newtype.html#unpack%27"><span class="hs-identifier hs-var">unpack'</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; b
</span><a href="#local-6989586621679704075"><span class="hs-identifier hs-var">_pack</span></a></span><span> </span><span class="annot"><span class="annottext">(b -&gt; a) -&gt; f b -&gt; f a
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/Data.Functor.html#%3C%24%3E"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">f b
forall a (m :: * -&gt; *). (Parsec a, CabalParsing m) =&gt; m a
</span><a href="Distribution.Parsec.html#parsec"><span class="hs-identifier hs-var">P.parsec</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679704053"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-73"></span><span>
</span><span id="line-74"></span><span>    </span><span id="local-6989586621679704047"><span class="annot"><span class="annottext">optionalFieldAla :: forall b a s.
(ParsecPretty b, Newtype a b) =&gt;
FieldName
-&gt; (a -&gt; b) -&gt; ALens' s (Maybe a) -&gt; FieldDescrs s (Maybe a)
</span><a href="Distribution.FieldGrammar.Class.html#optionalFieldAla"><span class="hs-identifier hs-var hs-var hs-var hs-var">optionalFieldAla</span></a></span></span><span> </span><span id="local-6989586621679704045"><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679704045"><span class="hs-identifier hs-var">fn</span></a></span></span><span> </span><span id="local-6989586621679704044"><span class="annot"><span class="annottext">a -&gt; b
</span><a href="#local-6989586621679704044"><span class="hs-identifier hs-var">_pack</span></a></span></span><span> </span><span id="local-6989586621679704043"><span class="annot"><span class="annottext">ALens' s (Maybe a)
</span><a href="#local-6989586621679704043"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FieldName
-&gt; (s -&gt; Doc)
-&gt; (forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s)
-&gt; FieldDescrs s (Maybe a)
forall s a.
FieldName
-&gt; (s -&gt; Doc)
-&gt; (forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s)
-&gt; FieldDescrs s a
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#singletonF"><span class="hs-identifier hs-var">singletonF</span></a></span><span> </span><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679704045"><span class="hs-identifier hs-var">fn</span></a></span><span> </span><span class="annot"><span class="annottext">s -&gt; Doc
</span><a href="#local-6989586621679704042"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s
</span><a href="#local-6989586621679704041"><span class="hs-identifier hs-var">g</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-75"></span><span>        </span><span id="local-6989586621679704042"><span class="annot"><span class="annottext">f :: s -&gt; Doc
</span><a href="#local-6989586621679704042"><span class="hs-identifier hs-var hs-var">f</span></a></span></span><span> </span><span id="local-6989586621679704034"><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679704034"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Doc -&gt; (a -&gt; Doc) -&gt; Maybe a -&gt; Doc
forall b a. b -&gt; (a -&gt; b) -&gt; Maybe a -&gt; b
</span><a href="../../base/src/Data.Maybe.html#maybe"><span class="hs-identifier hs-var">maybe</span></a></span><span> </span><span class="annot"><span class="annottext">Doc
forall a. Monoid a =&gt; a
</span><a href="../../base/src/GHC.Base.html#mempty"><span class="hs-identifier hs-var">mempty</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">b -&gt; Doc
forall a. Pretty a =&gt; a -&gt; Doc
</span><a href="Distribution.Pretty.html#pretty"><span class="hs-identifier hs-var">pretty</span></a></span><span> </span><span class="annot"><span class="annottext">(b -&gt; Doc) -&gt; (a -&gt; b) -&gt; a -&gt; Doc
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(a -&gt; b) -&gt; a -&gt; b
forall o n. Newtype o n =&gt; (o -&gt; n) -&gt; o -&gt; n
</span><a href="Distribution.Compat.Newtype.html#pack%27"><span class="hs-identifier hs-var">pack'</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; b
</span><a href="#local-6989586621679704044"><span class="hs-identifier hs-var">_pack</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ALens' s (Maybe a) -&gt; s -&gt; Maybe a
forall s t a b. ALens s t a b -&gt; s -&gt; a
</span><a href="Distribution.Compat.Lens.html#aview"><span class="hs-identifier hs-var">aview</span></a></span><span> </span><span class="annot"><span class="annottext">ALens' s (Maybe a)
</span><a href="#local-6989586621679704043"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679704034"><span class="hs-identifier hs-var">s</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-76"></span><span>        </span><span id="local-6989586621679704041"><span class="annot"><span class="annottext">g :: s -&gt; f s
</span><a href="#local-6989586621679704041"><span class="hs-identifier hs-var hs-var">g</span></a></span></span><span> </span><span id="local-6989586621679704021"><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679704021"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ALens' s (Maybe a) -&gt; LensLike f s s (Maybe a) (Maybe a)
forall (f :: * -&gt; *) s t a b.
Functor f =&gt;
ALens s t a b -&gt; LensLike f s t a b
</span><a href="Distribution.Compat.Lens.html#cloneLens"><span class="hs-identifier hs-var">cloneLens</span></a></span><span> </span><span class="annot"><span class="annottext">ALens' s (Maybe a)
</span><a href="#local-6989586621679704043"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">f (Maybe a) -&gt; Maybe a -&gt; f (Maybe a)
forall a b. a -&gt; b -&gt; a
</span><a href="../../base/src/GHC.Base.html#const"><span class="hs-identifier hs-var">const</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a -&gt; Maybe a
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">(a -&gt; Maybe a) -&gt; (b -&gt; a) -&gt; b -&gt; Maybe a
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(a -&gt; b) -&gt; b -&gt; a
forall o n. Newtype o n =&gt; (o -&gt; n) -&gt; n -&gt; o
</span><a href="Distribution.Compat.Newtype.html#unpack%27"><span class="hs-identifier hs-var">unpack'</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; b
</span><a href="#local-6989586621679704044"><span class="hs-identifier hs-var">_pack</span></a></span><span> </span><span class="annot"><span class="annottext">(b -&gt; Maybe a) -&gt; f b -&gt; f (Maybe a)
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/Data.Functor.html#%3C%24%3E"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">f b
forall a (m :: * -&gt; *). (Parsec a, CabalParsing m) =&gt; m a
</span><a href="Distribution.Parsec.html#parsec"><span class="hs-identifier hs-var">P.parsec</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679704021"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-77"></span><span>
</span><span id="line-78"></span><span>    </span><span id="local-6989586621679704015"><span class="annot"><span class="annottext">optionalFieldDefAla :: forall b a s.
(ParsecPretty b, Newtype a b, Eq a) =&gt;
FieldName -&gt; (a -&gt; b) -&gt; ALens' s a -&gt; a -&gt; FieldDescrs s a
</span><a href="Distribution.FieldGrammar.Class.html#optionalFieldDefAla"><span class="hs-identifier hs-var hs-var hs-var hs-var">optionalFieldDefAla</span></a></span></span><span> </span><span id="local-6989586621679704013"><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679704013"><span class="hs-identifier hs-var">fn</span></a></span></span><span> </span><span id="local-6989586621679704012"><span class="annot"><span class="annottext">a -&gt; b
</span><a href="#local-6989586621679704012"><span class="hs-identifier hs-var">_pack</span></a></span></span><span> </span><span id="local-6989586621679704011"><span class="annot"><span class="annottext">ALens' s a
</span><a href="#local-6989586621679704011"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span id="local-6989586621679704010"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679704010"><span class="hs-identifier hs-var">_def</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FieldName
-&gt; (s -&gt; Doc)
-&gt; (forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s)
-&gt; FieldDescrs s a
forall s a.
FieldName
-&gt; (s -&gt; Doc)
-&gt; (forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s)
-&gt; FieldDescrs s a
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#singletonF"><span class="hs-identifier hs-var">singletonF</span></a></span><span> </span><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679704013"><span class="hs-identifier hs-var">fn</span></a></span><span> </span><span class="annot"><span class="annottext">s -&gt; Doc
</span><a href="#local-6989586621679704009"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s
</span><a href="#local-6989586621679704008"><span class="hs-identifier hs-var">g</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-79"></span><span>        </span><span id="local-6989586621679704009"><span class="annot"><span class="annottext">f :: s -&gt; Doc
</span><a href="#local-6989586621679704009"><span class="hs-identifier hs-var hs-var">f</span></a></span></span><span> </span><span id="local-6989586621679704003"><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679704003"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">b -&gt; Doc
forall a. Pretty a =&gt; a -&gt; Doc
</span><a href="Distribution.Pretty.html#pretty"><span class="hs-identifier hs-var">pretty</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(a -&gt; b) -&gt; a -&gt; b
forall o n. Newtype o n =&gt; (o -&gt; n) -&gt; o -&gt; n
</span><a href="Distribution.Compat.Newtype.html#pack%27"><span class="hs-identifier hs-var">pack'</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; b
</span><a href="#local-6989586621679704012"><span class="hs-identifier hs-var">_pack</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ALens' s a -&gt; s -&gt; a
forall s t a b. ALens s t a b -&gt; s -&gt; a
</span><a href="Distribution.Compat.Lens.html#aview"><span class="hs-identifier hs-var">aview</span></a></span><span> </span><span class="annot"><span class="annottext">ALens' s a
</span><a href="#local-6989586621679704011"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679704003"><span class="hs-identifier hs-var">s</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-80"></span><span>        </span><span id="local-6989586621679704008"><span class="annot"><span class="annottext">g :: s -&gt; f s
</span><a href="#local-6989586621679704008"><span class="hs-identifier hs-var hs-var">g</span></a></span></span><span> </span><span id="local-6989586621679703991"><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679703991"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ALens' s a -&gt; LensLike f s s a a
forall (f :: * -&gt; *) s t a b.
Functor f =&gt;
ALens s t a b -&gt; LensLike f s t a b
</span><a href="Distribution.Compat.Lens.html#cloneLens"><span class="hs-identifier hs-var">cloneLens</span></a></span><span> </span><span class="annot"><span class="annottext">ALens' s a
</span><a href="#local-6989586621679704011"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">f a -&gt; a -&gt; f a
forall a b. a -&gt; b -&gt; a
</span><a href="../../base/src/GHC.Base.html#const"><span class="hs-identifier hs-var">const</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(a -&gt; b) -&gt; b -&gt; a
forall o n. Newtype o n =&gt; (o -&gt; n) -&gt; n -&gt; o
</span><a href="Distribution.Compat.Newtype.html#unpack%27"><span class="hs-identifier hs-var">unpack'</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; b
</span><a href="#local-6989586621679704012"><span class="hs-identifier hs-var">_pack</span></a></span><span> </span><span class="annot"><span class="annottext">(b -&gt; a) -&gt; f b -&gt; f a
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/Data.Functor.html#%3C%24%3E"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">f b
forall a (m :: * -&gt; *). (Parsec a, CabalParsing m) =&gt; m a
</span><a href="Distribution.Parsec.html#parsec"><span class="hs-identifier hs-var">P.parsec</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679703991"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-81"></span><span>
</span><span id="line-82"></span><span>    </span><span id="local-6989586621679703990"><span class="annot"><span class="annottext">freeTextField :: forall s.
FieldName
-&gt; ALens' s (Maybe String) -&gt; FieldDescrs s (Maybe String)
</span><a href="Distribution.FieldGrammar.Class.html#freeTextField"><span class="hs-identifier hs-var hs-var hs-var hs-var">freeTextField</span></a></span></span><span> </span><span id="local-6989586621679703988"><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679703988"><span class="hs-identifier hs-var">fn</span></a></span></span><span> </span><span id="local-6989586621679703987"><span class="annot"><span class="annottext">ALens' s (Maybe String)
</span><a href="#local-6989586621679703987"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FieldName
-&gt; (s -&gt; Doc)
-&gt; (forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s)
-&gt; FieldDescrs s (Maybe String)
forall s a.
FieldName
-&gt; (s -&gt; Doc)
-&gt; (forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s)
-&gt; FieldDescrs s a
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#singletonF"><span class="hs-identifier hs-var">singletonF</span></a></span><span> </span><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679703988"><span class="hs-identifier hs-var">fn</span></a></span><span> </span><span class="annot"><span class="annottext">s -&gt; Doc
</span><a href="#local-6989586621679703986"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s
</span><a href="#local-6989586621679703985"><span class="hs-identifier hs-var">g</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-83"></span><span>        </span><span id="local-6989586621679703986"><span class="annot"><span class="annottext">f :: s -&gt; Doc
</span><a href="#local-6989586621679703986"><span class="hs-identifier hs-var hs-var">f</span></a></span></span><span> </span><span id="local-6989586621679703981"><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679703981"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Doc -&gt; (String -&gt; Doc) -&gt; Maybe String -&gt; Doc
forall b a. b -&gt; (a -&gt; b) -&gt; Maybe a -&gt; b
</span><a href="../../base/src/Data.Maybe.html#maybe"><span class="hs-identifier hs-var">maybe</span></a></span><span> </span><span class="annot"><span class="annottext">Doc
forall a. Monoid a =&gt; a
</span><a href="../../base/src/GHC.Base.html#mempty"><span class="hs-identifier hs-var">mempty</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; Doc
</span><a href="Distribution.Pretty.html#showFreeText"><span class="hs-identifier hs-var">showFreeText</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ALens' s (Maybe String) -&gt; s -&gt; Maybe String
forall s t a b. ALens s t a b -&gt; s -&gt; a
</span><a href="Distribution.Compat.Lens.html#aview"><span class="hs-identifier hs-var">aview</span></a></span><span> </span><span class="annot"><span class="annottext">ALens' s (Maybe String)
</span><a href="#local-6989586621679703987"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679703981"><span class="hs-identifier hs-var">s</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-84"></span><span>        </span><span id="local-6989586621679703985"><span class="annot"><span class="annottext">g :: s -&gt; f s
</span><a href="#local-6989586621679703985"><span class="hs-identifier hs-var hs-var">g</span></a></span></span><span> </span><span id="local-6989586621679703971"><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679703971"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ALens' s (Maybe String)
-&gt; LensLike f s s (Maybe String) (Maybe String)
forall (f :: * -&gt; *) s t a b.
Functor f =&gt;
ALens s t a b -&gt; LensLike f s t a b
</span><a href="Distribution.Compat.Lens.html#cloneLens"><span class="hs-identifier hs-var">cloneLens</span></a></span><span> </span><span class="annot"><span class="annottext">ALens' s (Maybe String)
</span><a href="#local-6989586621679703987"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">f (Maybe String) -&gt; Maybe String -&gt; f (Maybe String)
forall a b. a -&gt; b -&gt; a
</span><a href="../../base/src/GHC.Base.html#const"><span class="hs-identifier hs-var">const</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; Maybe String
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; Maybe String) -&gt; f String -&gt; f (Maybe String)
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/Data.Functor.html#%3C%24%3E"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">f String
forall (m :: * -&gt; *). CabalParsing m =&gt; m String
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#parsecFreeText"><span class="hs-identifier hs-var">parsecFreeText</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679703971"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-85"></span><span>
</span><span id="line-86"></span><span>    </span><span id="local-6989586621679703969"><span class="annot"><span class="annottext">freeTextFieldDef :: forall s. FieldName -&gt; ALens' s String -&gt; FieldDescrs s String
</span><a href="Distribution.FieldGrammar.Class.html#freeTextFieldDef"><span class="hs-identifier hs-var hs-var hs-var hs-var">freeTextFieldDef</span></a></span></span><span> </span><span id="local-6989586621679703967"><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679703967"><span class="hs-identifier hs-var">fn</span></a></span></span><span> </span><span id="local-6989586621679703966"><span class="annot"><span class="annottext">ALens' s String
</span><a href="#local-6989586621679703966"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FieldName
-&gt; (s -&gt; Doc)
-&gt; (forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s)
-&gt; FieldDescrs s String
forall s a.
FieldName
-&gt; (s -&gt; Doc)
-&gt; (forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s)
-&gt; FieldDescrs s a
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#singletonF"><span class="hs-identifier hs-var">singletonF</span></a></span><span> </span><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679703967"><span class="hs-identifier hs-var">fn</span></a></span><span> </span><span class="annot"><span class="annottext">s -&gt; Doc
</span><a href="#local-6989586621679703965"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s
</span><a href="#local-6989586621679703964"><span class="hs-identifier hs-var">g</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-87"></span><span>        </span><span id="local-6989586621679703965"><span class="annot"><span class="annottext">f :: s -&gt; Doc
</span><a href="#local-6989586621679703965"><span class="hs-identifier hs-var hs-var">f</span></a></span></span><span> </span><span id="local-6989586621679703961"><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679703961"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Doc
</span><a href="Distribution.Pretty.html#showFreeText"><span class="hs-identifier hs-var">showFreeText</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ALens' s String -&gt; s -&gt; String
forall s t a b. ALens s t a b -&gt; s -&gt; a
</span><a href="Distribution.Compat.Lens.html#aview"><span class="hs-identifier hs-var">aview</span></a></span><span> </span><span class="annot"><span class="annottext">ALens' s String
</span><a href="#local-6989586621679703966"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679703961"><span class="hs-identifier hs-var">s</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-88"></span><span>        </span><span id="local-6989586621679703964"><span class="annot"><span class="annottext">g :: s -&gt; f s
</span><a href="#local-6989586621679703964"><span class="hs-identifier hs-var hs-var">g</span></a></span></span><span> </span><span id="local-6989586621679703952"><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679703952"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ALens' s String -&gt; LensLike f s s String String
forall (f :: * -&gt; *) s t a b.
Functor f =&gt;
ALens s t a b -&gt; LensLike f s t a b
</span><a href="Distribution.Compat.Lens.html#cloneLens"><span class="hs-identifier hs-var">cloneLens</span></a></span><span> </span><span class="annot"><span class="annottext">ALens' s String
</span><a href="#local-6989586621679703966"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">f String -&gt; String -&gt; f String
forall a b. a -&gt; b -&gt; a
</span><a href="../../base/src/GHC.Base.html#const"><span class="hs-identifier hs-var">const</span></a></span><span> </span><span class="annot"><span class="annottext">f String
forall (m :: * -&gt; *). CabalParsing m =&gt; m String
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#parsecFreeText"><span class="hs-identifier hs-var">parsecFreeText</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679703952"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-89"></span><span>
</span><span id="line-90"></span><span>    </span><span id="local-6989586621679703949"><span class="annot"><span class="annottext">freeTextFieldDefST :: forall s.
FieldName -&gt; ALens' s ShortText -&gt; FieldDescrs s ShortText
</span><a href="Distribution.FieldGrammar.Class.html#freeTextFieldDefST"><span class="hs-identifier hs-var hs-var hs-var hs-var">freeTextFieldDefST</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FieldName -&gt; ALens' s ShortText -&gt; FieldDescrs s ShortText
forall (g :: * -&gt; * -&gt; *) s (c :: * -&gt; Constraint).
(Functor (g s), FieldGrammar c g) =&gt;
FieldName -&gt; ALens' s ShortText -&gt; g s ShortText
</span><a href="Distribution.FieldGrammar.Class.html#defaultFreeTextFieldDefST"><span class="hs-identifier hs-var">defaultFreeTextFieldDefST</span></a></span><span>
</span><span id="line-91"></span><span>
</span><span id="line-92"></span><span>    </span><span id="local-6989586621679703941"><span class="annot"><span class="annottext">monoidalFieldAla :: forall b a s.
(ParsecPretty b, Monoid a, Newtype a b) =&gt;
FieldName -&gt; (a -&gt; b) -&gt; ALens' s a -&gt; FieldDescrs s a
</span><a href="Distribution.FieldGrammar.Class.html#monoidalFieldAla"><span class="hs-identifier hs-var hs-var hs-var hs-var">monoidalFieldAla</span></a></span></span><span> </span><span id="local-6989586621679703939"><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679703939"><span class="hs-identifier hs-var">fn</span></a></span></span><span> </span><span id="local-6989586621679703938"><span class="annot"><span class="annottext">a -&gt; b
</span><a href="#local-6989586621679703938"><span class="hs-identifier hs-var">_pack</span></a></span></span><span> </span><span id="local-6989586621679703937"><span class="annot"><span class="annottext">ALens' s a
</span><a href="#local-6989586621679703937"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FieldName
-&gt; (s -&gt; Doc)
-&gt; (forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s)
-&gt; FieldDescrs s a
forall s a.
FieldName
-&gt; (s -&gt; Doc)
-&gt; (forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s)
-&gt; FieldDescrs s a
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#singletonF"><span class="hs-identifier hs-var">singletonF</span></a></span><span> </span><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679703939"><span class="hs-identifier hs-var">fn</span></a></span><span> </span><span class="annot"><span class="annottext">s -&gt; Doc
</span><a href="#local-6989586621679703936"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *). CabalParsing m =&gt; s -&gt; m s
</span><a href="#local-6989586621679703935"><span class="hs-identifier hs-var">g</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-93"></span><span>        </span><span id="local-6989586621679703936"><span class="annot"><span class="annottext">f :: s -&gt; Doc
</span><a href="#local-6989586621679703936"><span class="hs-identifier hs-var hs-var">f</span></a></span></span><span> </span><span id="local-6989586621679703930"><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679703930"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">b -&gt; Doc
forall a. Pretty a =&gt; a -&gt; Doc
</span><a href="Distribution.Pretty.html#pretty"><span class="hs-identifier hs-var">pretty</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(a -&gt; b) -&gt; a -&gt; b
forall o n. Newtype o n =&gt; (o -&gt; n) -&gt; o -&gt; n
</span><a href="Distribution.Compat.Newtype.html#pack%27"><span class="hs-identifier hs-var">pack'</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; b
</span><a href="#local-6989586621679703938"><span class="hs-identifier hs-var">_pack</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ALens' s a -&gt; s -&gt; a
forall s t a b. ALens s t a b -&gt; s -&gt; a
</span><a href="Distribution.Compat.Lens.html#aview"><span class="hs-identifier hs-var">aview</span></a></span><span> </span><span class="annot"><span class="annottext">ALens' s a
</span><a href="#local-6989586621679703937"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679703930"><span class="hs-identifier hs-var">s</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-94"></span><span>        </span><span id="local-6989586621679703935"><span class="annot"><span class="annottext">g :: s -&gt; f s
</span><a href="#local-6989586621679703935"><span class="hs-identifier hs-var hs-var">g</span></a></span></span><span> </span><span id="local-6989586621679703917"><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679703917"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ALens' s a -&gt; LensLike f s s a a
forall (f :: * -&gt; *) s t a b.
Functor f =&gt;
ALens s t a b -&gt; LensLike f s t a b
</span><a href="Distribution.Compat.Lens.html#cloneLens"><span class="hs-identifier hs-var">cloneLens</span></a></span><span> </span><span class="annot"><span class="annottext">ALens' s a
</span><a href="#local-6989586621679703937"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span id="local-6989586621679703916"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679703916"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
forall a. Monoid a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Base.html#mappend"><span class="hs-identifier hs-var">mappend</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679703916"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">(a -&gt; a) -&gt; (b -&gt; a) -&gt; b -&gt; a
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(a -&gt; b) -&gt; b -&gt; a
forall o n. Newtype o n =&gt; (o -&gt; n) -&gt; n -&gt; o
</span><a href="Distribution.Compat.Newtype.html#unpack%27"><span class="hs-identifier hs-var">unpack'</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; b
</span><a href="#local-6989586621679703938"><span class="hs-identifier hs-var">_pack</span></a></span><span> </span><span class="annot"><span class="annottext">(b -&gt; a) -&gt; f b -&gt; f a
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/Data.Functor.html#%3C%24%3E"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">f b
forall a (m :: * -&gt; *). (Parsec a, CabalParsing m) =&gt; m a
</span><a href="Distribution.Parsec.html#parsec"><span class="hs-identifier hs-var">P.parsec</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">s
</span><a href="#local-6989586621679703917"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-95"></span><span>
</span><span id="line-96"></span><span>    </span><span id="local-6989586621679703913"><span class="annot"><span class="annottext">prefixedFields :: forall s.
FieldName
-&gt; ALens' s [(String, String)] -&gt; FieldDescrs s [(String, String)]
</span><a href="Distribution.FieldGrammar.Class.html#prefixedFields"><span class="hs-identifier hs-var hs-var hs-var hs-var">prefixedFields</span></a></span></span><span> </span><span id="local-6989586621679703911"><span class="annot"><span class="annottext">FieldName
</span><a href="#local-6989586621679703911"><span class="hs-identifier hs-var">_fnPfx</span></a></span></span><span> </span><span id="local-6989586621679703910"><span class="annot"><span class="annottext">ALens' s [(String, String)]
</span><a href="#local-6989586621679703910"><span class="hs-identifier hs-var">_l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Map FieldName (SP s) -&gt; FieldDescrs s [(String, String)]
forall s a. Map FieldName (SP s) -&gt; FieldDescrs s a
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#F"><span class="hs-identifier hs-var">F</span></a></span><span> </span><span class="annot"><span class="annottext">Map FieldName (SP s)
forall a. Monoid a =&gt; a
</span><a href="../../base/src/GHC.Base.html#mempty"><span class="hs-identifier hs-var">mempty</span></a></span><span>
</span><span id="line-97"></span><span>    </span><span id="local-6989586621679703908"><span class="annot"><span class="annottext">knownField :: forall s. FieldName -&gt; FieldDescrs s ()
</span><a href="Distribution.FieldGrammar.Class.html#knownField"><span class="hs-identifier hs-var hs-var hs-var hs-var">knownField</span></a></span></span><span> </span><span class="annot"><span class="annottext">FieldName
</span><span class="hs-identifier">_</span></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">() -&gt; FieldDescrs s ()
forall (f :: * -&gt; *) a. Applicative f =&gt; a -&gt; f a
</span><a href="../../base/src/GHC.Base.html#pure"><span class="hs-identifier hs-var">pure</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-98"></span><span>    </span><span id="local-6989586621679703906"><span class="annot"><span class="annottext">deprecatedSince :: forall s a.
CabalSpecVersion -&gt; String -&gt; FieldDescrs s a -&gt; FieldDescrs s a
</span><a href="Distribution.FieldGrammar.Class.html#deprecatedSince"><span class="hs-identifier hs-var hs-var hs-var hs-var">deprecatedSince</span></a></span></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><span class="hs-identifier">_</span></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621679703904"><span class="annot"><span class="annottext">FieldDescrs s a
</span><a href="#local-6989586621679703904"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FieldDescrs s a
</span><a href="#local-6989586621679703904"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-99"></span><span>    </span><span id="local-6989586621679703903"><span class="annot"><span class="annottext">removedIn :: forall s a.
CabalSpecVersion -&gt; String -&gt; FieldDescrs s a -&gt; FieldDescrs s a
</span><a href="Distribution.FieldGrammar.Class.html#removedIn"><span class="hs-identifier hs-var hs-var hs-var hs-var">removedIn</span></a></span></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621679703901"><span class="annot"><span class="annottext">FieldDescrs s a
</span><a href="#local-6989586621679703901"><span class="hs-identifier hs-var">x</span></a></span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FieldDescrs s a
</span><a href="#local-6989586621679703901"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-100"></span><span>    </span><span id="local-6989586621679703900"><span class="annot"><span class="annottext">availableSince :: forall a s.
CabalSpecVersion -&gt; a -&gt; FieldDescrs s a -&gt; FieldDescrs s a
</span><a href="Distribution.FieldGrammar.Class.html#availableSince"><span class="hs-identifier hs-var hs-var hs-var hs-var">availableSince</span></a></span></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">a
</span><span class="hs-identifier">_</span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FieldDescrs s a -&gt; FieldDescrs s a
forall a. a -&gt; a
</span><a href="../../base/src/GHC.Base.html#id"><span class="hs-identifier hs-var">id</span></a></span><span>
</span><span id="line-101"></span><span>    </span><span id="local-6989586621679703895"><span class="annot"><span class="annottext">hiddenField :: forall s a. FieldDescrs s a -&gt; FieldDescrs s a
</span><a href="Distribution.FieldGrammar.Class.html#hiddenField"><span class="hs-identifier hs-var hs-var hs-var hs-var">hiddenField</span></a></span></span><span> </span><span class="annot"><span class="annottext">FieldDescrs s a
</span><span class="hs-identifier">_</span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Map FieldName (SP s) -&gt; FieldDescrs s a
forall s a. Map FieldName (SP s) -&gt; FieldDescrs s a
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#F"><span class="hs-identifier hs-var">F</span></a></span><span> </span><span class="annot"><span class="annottext">Map FieldName (SP s)
forall a. Monoid a =&gt; a
</span><a href="../../base/src/GHC.Base.html#mempty"><span class="hs-identifier hs-var">mempty</span></a></span><span>
</span><span id="line-102"></span><span>
</span><span id="line-103"></span><span id="local-6989586621679704302"><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#parsecFreeText"><span class="hs-identifier hs-type">parsecFreeText</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Parsec.html#CabalParsing"><span class="hs-identifier hs-type">P.CabalParsing</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704302"><span class="hs-identifier hs-type">m</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679704302"><span class="hs-identifier hs-type">m</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span></span><span>
</span><span id="line-104"></span><span id="parsecFreeText"><span class="annot"><span class="annottext">parsecFreeText :: forall (m :: * -&gt; *). CabalParsing m =&gt; m String
</span><a href="Distribution.FieldGrammar.FieldDescrs.html#parsecFreeText"><span class="hs-identifier hs-var hs-var">parsecFreeText</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; String
</span><a href="#local-6989586621679703878"><span class="hs-identifier hs-var">dropDotLines</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; String) -&gt; m () -&gt; m (String -&gt; String)
forall (f :: * -&gt; *) a b. Functor f =&gt; a -&gt; f b -&gt; f a
</span><a href="../../base/src/GHC.Base.html#%3C%24"><span class="hs-operator hs-var">&lt;$</span></a></span><span> </span><span class="annot"><span class="annottext">m ()
forall (m :: * -&gt; *). CharParsing m =&gt; m ()
</span><a href="Distribution.Compat.CharParsing.html#spaces"><span class="hs-identifier hs-var">C.spaces</span></a></span><span> </span><span class="annot"><span class="annottext">m (String -&gt; String) -&gt; m String -&gt; m String
forall (f :: * -&gt; *) a b. Applicative f =&gt; f (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#%3C%2A%3E"><span class="hs-operator hs-var">&lt;*&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">m Char -&gt; m String
forall (f :: * -&gt; *) a. Alternative f =&gt; f a -&gt; f [a]
</span><a href="../../base/src/GHC.Base.html#many"><span class="hs-identifier hs-var">many</span></a></span><span> </span><span class="annot"><span class="annottext">m Char
forall (m :: * -&gt; *). CharParsing m =&gt; m Char
</span><a href="Distribution.Compat.CharParsing.html#anyChar"><span class="hs-identifier hs-var">C.anyChar</span></a></span><span>
</span><span id="line-105"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-106"></span><span>    </span><span class="hs-comment">-- Example package with dot lines</span><span>
</span><span id="line-107"></span><span>    </span><span class="hs-comment">-- http://hackage.haskell.org/package/copilot-cbmc-0.1/copilot-cbmc.cabal</span><span>
</span><span id="line-108"></span><span>    </span><span id="local-6989586621679703878"><span class="annot"><span class="annottext">dropDotLines :: String -&gt; String
</span><a href="#local-6989586621679703878"><span class="hs-identifier hs-var hs-var">dropDotLines</span></a></span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.&quot;</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.&quot;</span></span><span>
</span><span id="line-109"></span><span>    </span><span class="annot"><a href="#local-6989586621679703878"><span class="hs-identifier hs-var">dropDotLines</span></a></span><span> </span><span id="local-6989586621679703873"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679703873"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; [String] -&gt; String
forall a. [a] -&gt; [[a]] -&gt; [a]
</span><a href="../../base/src/Data.OldList.html#intercalate"><span class="hs-identifier hs-var">intercalate</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span> </span><span class="annot"><span class="annottext">([String] -&gt; String) -&gt; (String -&gt; [String]) -&gt; String -&gt; String
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; String) -&gt; [String] -&gt; [String]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String
</span><a href="#local-6989586621679703871"><span class="hs-identifier hs-var">dotToEmpty</span></a></span><span> </span><span class="annot"><span class="annottext">([String] -&gt; [String])
-&gt; (String -&gt; [String]) -&gt; String -&gt; [String]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; [String]
</span><a href="../../base/src/Data.OldList.html#lines"><span class="hs-identifier hs-var">lines</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; String) -&gt; String -&gt; String
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679703873"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-110"></span><span>
</span><span id="line-111"></span><span>    </span><span id="local-6989586621679703871"><span class="annot"><span class="annottext">dotToEmpty :: String -&gt; String
</span><a href="#local-6989586621679703871"><span class="hs-identifier hs-var hs-var">dotToEmpty</span></a></span></span><span> </span><span id="local-6989586621679703866"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679703866"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">String -&gt; String
</span><a href="#local-6989586621679703865"><span class="hs-identifier hs-var">trim'</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679703866"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.&quot;</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span>
</span><span id="line-112"></span><span>    </span><span class="annot"><a href="#local-6989586621679703871"><span class="hs-identifier hs-var">dotToEmpty</span></a></span><span> </span><span id="local-6989586621679703864"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679703864"><span class="hs-identifier hs-var">x</span></a></span></span><span>                  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; String
</span><a href="#local-6989586621679703863"><span class="hs-identifier hs-var">trim</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679703864"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-113"></span><span>
</span><span id="line-114"></span><span>    </span><span class="annot"><a href="#local-6989586621679703865"><span class="hs-identifier hs-type">trim'</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-115"></span><span>    </span><span id="local-6989586621679703865"><span class="annot"><span class="annottext">trim' :: String -&gt; String
</span><a href="#local-6989586621679703865"><span class="hs-identifier hs-var hs-var">trim'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Char -&gt; Bool) -&gt; String -&gt; String
forall a. (a -&gt; Bool) -&gt; [a] -&gt; [a]
</span><a href="../../base/src/Data.OldList.html#dropWhileEnd"><span class="hs-identifier hs-var">dropWhileEnd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char -&gt; String -&gt; Bool
forall (t :: * -&gt; *) a. (Foldable t, Eq a) =&gt; a -&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#elem"><span class="hs-operator hs-var">`elem`</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; \t&quot;</span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-116"></span><span>
</span><span id="line-117"></span><span>    </span><span class="annot"><a href="#local-6989586621679703863"><span class="hs-identifier hs-type">trim</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-118"></span><span>    </span><span id="local-6989586621679703863"><span class="annot"><span class="annottext">trim :: String -&gt; String
</span><a href="#local-6989586621679703863"><span class="hs-identifier hs-var hs-var">trim</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Char -&gt; Bool) -&gt; String -&gt; String
forall a. (a -&gt; Bool) -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.List.html#dropWhile"><span class="hs-identifier hs-var">dropWhile</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; Bool
</span><a href="../../base/src/GHC.Unicode.html#isSpace"><span class="hs-identifier hs-var">isSpace</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; String) -&gt; (String -&gt; String) -&gt; String -&gt; String
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(Char -&gt; Bool) -&gt; String -&gt; String
forall a. (a -&gt; Bool) -&gt; [a] -&gt; [a]
</span><a href="../../base/src/Data.OldList.html#dropWhileEnd"><span class="hs-identifier hs-var">dropWhileEnd</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; Bool
</span><a href="../../base/src/GHC.Unicode.html#isSpace"><span class="hs-identifier hs-var">isSpace</span></a></span><span>
</span><span id="line-119"></span><span>
</span><span id="line-120"></span><span class="hs-keyword">class</span><span>    </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Parsec.html#Parsec"><span class="hs-identifier hs-type">P.Parsec</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704327"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Pretty.html#Pretty"><span class="hs-identifier hs-type">Pretty</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704327"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span id="ParsecPretty"><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#ParsecPretty"><span class="hs-identifier hs-var">ParsecPretty</span></a></span></span><span> </span><span id="local-6989586621679704327"><span class="annot"><a href="#local-6989586621679704327"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-121"></span><span id="local-6989586621679704361"><span class="hs-keyword">instance</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Parsec.html#Parsec"><span class="hs-identifier hs-type">P.Parsec</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704361"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Pretty.html#Pretty"><span class="hs-identifier hs-type">Pretty</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704361"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="Distribution.FieldGrammar.FieldDescrs.html#ParsecPretty"><span class="hs-identifier hs-type">ParsecPretty</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679704361"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-122"></span></pre></body></html>